package com.lkd.mapper;

import com.lkd.dto.RegionDto;
import com.lkd.dto.RegionPageDto;
import com.lkd.entity.Region;
import com.lkd.vo.RegionPageVo;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Options;
import org.apache.ibatis.annotations.Select;

import java.util.List;

@Mapper
public interface RegionMapper {
    //区域分页搜索
//    @Options(useGeneratedKeys = true,keyProperty = "id")
    List<RegionPageVo> getList(RegionPageDto regionPageDto);

    /**
     * 根据指定的区域ID查询节点数量。
     * @param id 区域ID
     * @return 返回符合条件的节点数量，类型为Integer
     */
//    @Select("select count(*) from lkdremake.tb_node where region_id=#{id}")
    @Select("select count(*) from lkdremake.tb_region r left join lkdremake.tb_node n on r.id=n.region_id WHERE r.id=#{id} ")
    Integer getCountByRegionId(Integer id);

    //新增区域
    @Insert("insert into lkdremake.tb_region values(null,#{regionName},#{remark})")
    Boolean save(Region region);

    //修改区域
    Boolean update(RegionDto regionDto);

    @Select("select * from lkdremake.tb_region where id=#{regionId}")
    Region getByRid(Integer regionId);
}

